import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
// 捕获异常

let defaultCity = '上海'
try {
  if(localStorage.city){
    defaultCity = localStorage.city
  }
} catch(e) {
  alert('陈擘好帅')
}
export default new Vuex.Store({
  state: {
    // 刷新时，默认localStorage.city取值，否则为上海。使用localStorage需要使用try catch捕获异常，因为用户会关闭存储或者使用隐身模式将会使localStorage失效
    city:defaultCity
  },
  // 组件先调用actions，actions在调用mutations，mutations再把组件传递过来的数据传递给state
  mutations: {
    changeCity(state,city){
      state.city=city
      // 将修改后的城市存储在logostarage中，下次登录刷新数据仍在
      try {
          defaultCity = localStorage.city
      } catch (e) {
        alert('陈擘好帅')
      }
    }
  },
  actions: {
    // changeCity(context,city){
    //     context.commit('changeCity',city)
    // }
  }
})
